Лабораторная работа №1

Дисциплина - Математическое моделирование

Пронякова О.М.

Российский университет дружбы народов, Москва, Россия

16 февраля 2024

Информация

Докладчик

  • Пронякова Ольга Максимовна
  • студент НКАбд-02-22
  • факультет физико-математических и естественных наук
  • Российский университет дружбы народов

Создание презентации

Цель работы

Вспомнить умения работы с git

Этапы выполнения работы

Настройка core.autocrlf с параметрами true и input делает все переводы строк текстовых файлов в главном репозитории одинаковы. core.autocrlf true - git автоматически конвертирует CRLF->LF при комми- те и обратно LF->CRLF при выгрузке кода из репозитория на файловую систему (используют в Windows). core.autocrlf input - конвертация CRLF в LF только при коммитах (используют в Mac/Linux). Если core.safecrlf установлен в true или warm, git проверяет, если пре- образование является обратимым для текущей настройки core.autocrlf. core.safecrlf true - отвержение необратимого преобразования lf<->crlf. Полезно, когда специфические бинарники похожие на текстовые файлы. core.safecrlf warn - печать только предупреждение, но принимает необрати- мый переход.

Этапы выполнения работы

В пустом рабочем каталоге создаю пустой каталога с именем hello, затем вхожу в него и создаю там файл с именем hello.html(рис.[1]).

Выполнение команд

Этапы выполнения работы

Создаю git репозиторий из этого каталога, добавляю файл в реаозиторий и проверяю статус(рис.[2]).

выполнение команд

Этапы выполнения работы

Изменяю содержимое файла hello.html и проверяю состояние рабочего каталога(рис.[3]).

Заполение файла

Этапы выполнения работы

Выполняю команду git, чтобы проиндексировать изменения и роверяю состояние(рис.[4]).

Заполение файла

Этапы выполнения работы

Делаю коммит. проверяю состояние. Изменяю страницу «Hello, World», чтобы она содержала стандартные теги и

и добавляю это изменение в индекс git(рис.[5]).

Заполение файла

Этапы выполнения работы

произвожу коммит проиндексированного изменения (значение по умолчанию), а затем еще раз проверяю состояние(рис.[6]).

Заполение файла

Этапы выполнения работы

Получяю список произведенных изменений(рис.[7]).

Заполение файла

Этапы выполнения работы

Применяю несколько вариантов отображения лога(рис.[8]).

результаты команд

Этапы выполнения работы

Справочная страница (рис.[9]).

Результат команды

Этапы выполнения работы

Изучаю данные лога и найдите хэш для первого коммита. Он должен быть в последней строке данных. Использую этот хэш-код (достаточно первых 7 знаков) в команде ниже. Затем проверяю содержимое файла hello.html(рис.[10]).

Заполение файла

Этапы выполнения работы

Теги для предыдущих версий Давайте создадим тег для версии, которая идет перед текущей версией и назовем его v1-beta. В первую очередь нам надо переключиться на предыдущую версию. Вместо поиска до хэш, мы будем использовать ^, обозначающее «родитель v1». Вместо обозначения v1^ можно использовать v1~1. Это обозначение можно определить как «первую версию предшествующую v1»(рис.[11]).

результат команд

Этапы выполнения работы

делаю ее версией v1-beta и пробую попереключаться между двумя отмеченными версиями(рис.[12]).

Результат команд

Этапы выполнения работы

Смотрю теги(рис.[13]).

Результат комманды

Этапы выполнения работы

Вношу изменение в файл hello.html в виде нежелательного комментария(рис.[14]).

Изменение файла

Этапы выполнения работы

Использую команду git checkout для переключения версии файла hello.html в репозитории(рис.[15]).

Результат комманды

Этапы выполнения работы

Вношу изменение в файл hello.html в виде нежелательного комментария(рис.[16]).

Изменение файла

Этапы выполнения работы

Проиндексирую это изменение и проверяю состояние нежелательного изменения(рис.[17]).

результат команды

Этапы выполнения работы

делаю отмену индексации изменений и проверяю статус(рис.[18]).

Результат команды

Этапы выполнения работы

Изменяю файл hello.html на следующий(рис.[19]).

Изменение файла

Этапы выполнения работы

Проверяю лог на нежелательные и отмененные коммиты в мой репозиторий(рис.[20]).

Результат команд

Этапы выполнения работы

Но прежде чем удалить коммиты, давайте отметим последний коммит тегом, чтобы потом можно было его найти. сбросим ветку до этой точки. Поскольку ветка имеет тег, мы можем использовать имя тега в команде сброса. Тег oops свою функцию выполнил. Удаляю его и коммиты, на которые он ссылался, сборщиком мусора(рис.[21]).

Результат команд

Этапы выполнения работы

Обновляю страницу hello, включив в нее email(рис.[22]).

Изменение файла

Этапы выполнения работы

Действительно не хотим создавать отдельный коммит только ради электронной почты. Давайте изменим предыдущий коммит, включив в него адрес электронной почты(рис.[23]).

Результат команд

Этапы выполнения работы

Создаю структуру нашего репозитория. Давайте перенесем страницу в каталог lib(рис.[-@fig:pic24]).

Результат команд

Этапы выполнения работы

Добавляю файл index.html в наш репозиторий и делаю коммит(рис.[25]).

Изменение файла

Этапы выполнения работы

Каталог, в котором хранится вся информация git. здесь набор каталогов, имена которых состоят из 2 символов. Имена каталогов являются первыми двумя буквами хэша sha1 объекта, хранящегося в git. Смотрим в один из каталогов с именем из 2 букв. Вы увидите файлы с именами из 38 символов. Это файлы, содержащие объекты, хранящиеся в git(рис.[26]).

Этапы выполнения работы

Результат команд

Этапы выполнения работы

Узнаю файлы в подкаталоге тегов. Каждый файл соответствует тегу, ранее созданному с помощью команды git tag. Его содержание — это всего лишь хэш коммита, привязанный к тегу. Каталог heads практически аналогичен, но используется для веток, а не тегов. На данный момент у нас есть только одна ветка, так что все, что вы увидите в этом каталоге – это ветка master(рис.[27]).

Этапы выполнения работы

Результат команд

Этапы выполнения работы

Мы можем вывести дерево каталогов, ссылка на который идет в коммите. Это долж- но быть описание файлов (верхнего уровня) в нашем проекте (для конкретного коммита). Используйте SHA1 хэш из строки «дерева»(рис.[28]), (рис.[29]).

Этапы выполнения работы

Результат команд

Этапы выполнения работы

Результат команд

Этапы выполнения работы

создаем новую ветку «style». Добавляю файл стилей style.css(рис.[30]).

Изменение файла

Этапы выполнения работы

Обновляю файл hello.html, чтобы использовать стили style.css(рис.[31]).

Изменение файла

Этапы выполнения работы

Обновляю файл index.html, чтобы он тоже использовал style.css(рис.[32]).

Изменение файла

Этапы выполнения работы

Теперь у нас 2 веткирис(рис.[33]), (рис.[34]).

Результат команд

Этапы выполнения работы

Результат команд

Выводы

Вспомнила умения работы с git